package com.hk.housekeeping.service;

import com.hk.housekeeping.entity.UserEntity;
import com.hk.housekeeping.utils.PageUtils;
import com.hk.housekeeping.utils.ResponseEntity;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * 用户业务层
 */
@Service
public interface UserService {

    /**
     *添加用户信息
     * @param userEntity
     * @return 返回1代表添加成功0代表失败
     */
    ResponseEntity<Integer> addUser(UserEntity userEntity);

    /**
     * 删除用户信息
     * @param uid
     * @return 返回1代表添加成功0代表失败
     */
    ResponseEntity<Integer> delUser(int uid);

    /**
     * 修改用户信息
     * @param userEntity
     * @return 返回1代表添加成功0代表失败
     */
    @Deprecated
    ResponseEntity<Integer> modifyUser(UserEntity userEntity);
    //修改
    ResponseEntity<Integer> updateUser(UserEntity userEntity);


    /**
     * 查询用户信息
     * @param uid
     * @return  用户信息
     */
    UserEntity getUser(int uid);

    /**
     * 通过昵称或手机号查询
     * @param  fuzzy
     * @return 用户信息
     */
    List<UserEntity> getUserFuzzy(String fuzzy);

    /**
     * 通过注册时间查询
     * @param datetime1
     * @param datetime2
     * @return 用户信息
     */
    List<UserEntity> getUserTime(String datetime1, String datetime2);

    /**
     * 分页
     * @param offset
     * @param limit
     * @return 用户信息
     */
    ResponseEntity<PageUtils<List<UserEntity>>> getSelAll(int offset, int limit);

    /**
     * 分页
     * @return 总条数
     */
    ResponseEntity<Integer> getTotalCount();
}
